#include "Mover.h"

Mover::Mover(QWidget *parent,Territorio *territorios,int origen,int destino,int min) : MyDialog(parent) {
    setupUi();
    setWindowModality(Qt::ApplicationModal);
    this->territorios=territorios;
    this->origen=origen;
    this->destino=destino;
    nOrigen=territorios[origen].nEjercitos-min;
    nDestino=territorios[destino].nEjercitos+min;
    lblEjercitosOrigen->setText(QString::number(nOrigen));
    lblEjercitosDestino->setText(QString::number(nDestino));
    lblEjercitosOrigen->setPalette(territorios[origen].color);
    lblEjercitosDestino->setPalette(territorios[destino].color);
    lblOrigen->setText(territorios[origen].nombre);
    lblDestino->setText(territorios[destino].nombre);
    lblMover->setText(QString::number(min));
    lblMin->setText(QString::number(min));
    lblMax->setText(QString::number(territorios[origen].nEjercitos-1));
    sliderMover->setMinimum(min);
    sliderMover->setMaximum(territorios[origen].nEjercitos-1);
    sliderMover->setValue(min);
    connect(btnMover,SIGNAL(clicked()),this,SLOT(mover()));
    connect(btnMoverTodos,SIGNAL(clicked()),this,SLOT(moverTodos()));
    connect(sliderMover,SIGNAL(valueChanged(int)),this,SLOT(seleccionar(int)));
}

void Mover::mover(){
    territorios[origen].nEjercitos=nOrigen;
    territorios[destino].nEjercitos=nDestino;
    close();
}
void Mover::moverTodos(){
    nOrigen=1;
    nDestino=territorios[destino].nEjercitos+territorios[origen].nEjercitos-1;
    mover();
}
void Mover::seleccionar(int value){
    nOrigen=territorios[origen].nEjercitos-value;
    nDestino=territorios[destino].nEjercitos+value;
    lblEjercitosOrigen->setText(QString::number(nOrigen));
    lblEjercitosDestino->setText(QString::number(nDestino));
    lblMover->setText(QString::number(value));
}
void Mover::setupUi(){
    resize(411, 283);
    setWindowTitle(QString("Mover"));
    
    QFont font0;
    font0.setFamily(QString::fromUtf8("DejaVu Sans Mono"));
    font0.setPointSize(14);
    font0.setBold(true);
    font0.setWeight(75);
    
    lblOrigen = new QLabel(this);
    lblOrigen->setGeometry(QRect(10, 30, 181, 31));
    lblOrigen->setAlignment(Qt::AlignCenter);
    lblOrigen->setText(QString("Origen"));
    lblOrigen->setFont(font0);
    lblOrigen->setFrameShape(QFrame::StyledPanel);
    
    lblDestino = new QLabel(this);
    lblDestino->setGeometry(QRect(220, 30, 181, 31));
    lblDestino->setAlignment(Qt::AlignCenter);
    lblDestino->setText(QString("Destino"));
    lblDestino->setFont(font0);
    lblDestino->setFrameShape(QFrame::StyledPanel);
    
    QFont font;
    font.setFamily(QString::fromUtf8("Bitstream Vera Sans"));
    font.setPointSize(40);
    font.setBold(true);
    font.setWeight(75);
    
    lblEjercitosOrigen = new QLabel(this);
    lblEjercitosOrigen->setGeometry(QRect(45, 70, 106, 94));
    lblEjercitosOrigen->setFont(font);
    lblEjercitosOrigen->setAutoFillBackground(true);
    lblEjercitosOrigen->setFrameShape(QFrame::Panel);
    lblEjercitosOrigen->setAlignment(Qt::AlignCenter);
    lblEjercitosOrigen->setText(QString("5"));
    
    lblEjercitosDestino = new QLabel(this);
    lblEjercitosDestino->setGeometry(QRect(260, 70, 106, 94));
    lblEjercitosDestino->setFont(font);
    lblEjercitosDestino->setAutoFillBackground(true);
    lblEjercitosDestino->setFrameShape(QFrame::Panel);
    lblEjercitosDestino->setAlignment(Qt::AlignCenter);
    lblEjercitosDestino->setText(QString("5"));
    
    lblFlecha = new QLabel(this);
    lblFlecha->setObjectName(QString::fromUtf8("lblFlecha"));
    lblFlecha->setGeometry(QRect(170, 90, 73, 40));
    lblFlecha->setPixmap(QPixmap(QString::fromUtf8("images/flechaVerde.png")));
    
    QFont font1;
    font1.setPointSize(14);
    font1.setBold(true);
    font1.setWeight(75);
       
    lblMover = new QLabel(this);
    lblMover->setGeometry(QRect(190, 135, 26, 26));
    lblMover->setFont(font1);
    lblMover->setAlignment(Qt::AlignCenter);
    
    lblMax = new QLabel(this);
    lblMax->setGeometry(QRect(320, 190, 21, 18));
    lblMax->setAlignment(Qt::AlignCenter);
    
    lblMin = new QLabel(this);
    lblMin->setGeometry(QRect(70, 190, 21, 18));
    lblMin->setAlignment(Qt::AlignCenter);
    
    sliderMover = new QSlider(this);
    sliderMover->setGeometry(QRect(100, 190, 211, 16));
    sliderMover->setOrientation(Qt::Horizontal);
    
    btnMover = new QPushButton(this);
    btnMover->setGeometry(QRect(89, 230, 111, 41));
    btnMover->setText(QString("Mover"));
    
    btnMoverTodos = new QPushButton(this);
    btnMoverTodos->setGeometry(QRect(210, 230, 111, 41));
    btnMoverTodos->setText(QString("Mover todos"));
}
